package com.bingxue.edu.management.education.model.req;

import com.bingxue.edu.common.enums.ExamTypeEnum;
import com.bingxue.edu.common.enums.TermEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

@Data
@Schema(description = "考试成绩创建请求")
public class ExamCreateReq {

    @Schema(description = "名称")
    @NotBlank(message = "名称不能为空")
    @Length(max = 32, message = "名称长度不能超过 {max} 个字符")
    private String name;

    @Schema(description = "考试类型")
    @NotNull(message = "考试类型不能为空")
    private ExamTypeEnum examType;


    @Schema(description = "年份")
    @NotNull(message = "年份不能为空")
    private Integer classYear;


    @Schema(description = "学季")
    @NotNull(message = "学季不能为空")
    private TermEnum term;


    @Schema(description = "年级")
    @NotNull(message = "年级不能为空")
    @Length(max = 32, message = "年级长度不能超过 {max} 个字符")
    private String grade;


    @Schema(description = "科目")
    @NotNull(message = "科目不能为空")
    @Length(max = 32, message = "科目不能超过 {max} 个字符")
    private String subject;


    @Schema(description = "备注(内部)")
    @Length(max = 255, message = "备注(内部)长度不能超过 {max} 个字符")
    private String remark;
}
